#pragma once

#include "squad/StepQueue_SW.h"

//////////////////////////////////////////////////////////
// Основные понятия предметной области

class Rules_interface
{
public:
    virtual ~Rules_interface() = default;

    virtual bool isDone() = 0;
    virtual StepQueue_SW generateStepQueue() = 0;
    virtual void produceStep(size_t squad_index, size_t warrior_index) = 0;
    virtual size_t whoIsWin() = 0;
};
